Machine Learning Foundations - L3 Notes(下)

Contents

  1. 1. 三 Learning with Different Protocol
    1. 1.1. Batch
    2. 1.2. Online
    3. 1.3. Active
    4. 1.4. 總結與測驗
  2. 2. 四 Learning with Different Input Space
    1. 2.1. Concrete Features
    2. 2.2. Raw Features
    3. 2.3. Abstract Features
    4. 2.4. 總結與測驗
  3. 3. L3 回顧

三 Learning with Different Protocol

從資料跟機器互動的關係(餵資料),來區別不同學習。
Protocol 有點像是跟機器溝通的方式。

Batch

Batch Learning : batch 為一批一批的意思,也就是將 整批整批 的資料,餵進演算法中讓機器學習。

learn from all known data

不過也不一定是 supervised ,也能讓它自己去進行分群的動作。重點在於, 將整批的資料一次丟給機器。

Online

不過現實可能無法如此,我們會是將資料一筆一筆的來進行處理。這邊舉了垃圾信件分類為例:

  • batch : 餵整批資料給機器,然後算出來的 $g$ 就不再改動

  • online : 一封一封進來,然後慢慢修正 $g$ 。(sequentially)

對於 online 可以想到利用前面講的 PLA => 每一輪選一個出來看對不對,不符合的話就修正 $g$。
還有 reinforcement learning ,也是一筆一筆學到東西,每次得到部分資訊,不會是一次告訴機器全部的資訊。

online: hypothesis improves through receiving
data instances sequentially
透過一筆一筆的資料來修正 hypothesis g。

3-3-1

Active

這邊先稍微重提前面兩個以區分差異性,

  • batch : 像是填鴨式教育,直接丟一本書給你叫你學。
  • online : 老師上課一條一條教,告訴你各個例子的答案對錯。

以上兩種不管是循序或成批的,都是 被動的

而如果我們希望機器能自己問問題,以加速學習,則叫做 Active 。也就是在 Algorithm 的部分能到 target function 去問問題。
讓我們的演算法能挑選一個 $x_n$ 去問 $f$ ,$y_n$ 是多少?

舉例來說,在手寫辨識時,機器可能會從資料或它的想像中,挑選一個它還不會認得字或自己產生一個字,去詢問這個到底是什麼字。

過程也可能是循序(一輪一輪),而我們希望透過 有策略性的問問題 來改進它的 hypothesis 。這樣一個方式我們稱為 Active Learning

在標註資料的成本很高時,我們希望能標註較少的資料 (有點像 Semi-supervised 的感覺),此時讓電腦自己來問會是個不錯的方法。

3-3-2

總結與測驗

3-3-3

某攝影師有很多照片,想要幫它們自動分類。但無法一一將照片做標註,所以只標了一小部分後,就寫了一個演算法讓機器在判斷某張照片時,如果沒有信心分對,就主動詢問。
請問這屬於哪一種方法(protocol)?

3-3-4

四 Learning with Different Input Space

用 $x_n$ ,輸入的形式來區別。

Concrete Features

Concrete Features : 輸進去的資料相當的具體,且與我們要解決的問題有些關係。通常會經由人類專業知識的處理後(預處理),得到一個有用的資料。對機器而言會較為簡單。

輸進去的 input ,有時也稱為 feature (特徵)

3-4-1

Raw Features

這邊先舉一個手寫辨識的例子:

  • Concrete Features : 我們告訴機器,數字中哪個可能寫得比較對稱、點比較密集,是個很 具體 的資料。進而來判斷是哪個數字,例如: 5 比 1 來的密度高、 1 比 5 來的對稱。
    以圖中為例,x 軸為 密度,y 軸為 對稱,將每個數字的情形紀錄在一個二維平面上。

  • Raw Features : 將寫的格子分成 16x16 ,也就是一個 256 維度的向量。其中灰階可利用 0~1 來表示。而每一個數字就是一個 256 維的向量。
    而這時可能就要將這種比較 原始 抽象的資料轉成較為 具體 的,這個過程可由機器或人來做。

3-4-2

Abstract Features

一樣先舉了個例子 : 評分預測問題
給予 使用者id、音樂id、該使用者對音樂的評分。此時如果用 Raw Features 的方式,以向量記下這些東西,也沒有用,因為目前的資料僅僅是系統給予的 id 等等,還沒有它們相關的特徵。

此時我們必須從資料中 抽取 它們的特徵,例如: 每位使用者對歌曲喜好的向量、每首歌曲的特徵(ex. 曲風、作家…)。再用這些特徵來進行學習。

而至於這些特徵如何而來,可能由機器或人來抽取。

這樣子的輸入形式則為 Abstract Features ,比起 Raw Features 又更來的抽象。
一樣需要透過 轉換 來找出比較具體,能進行學習的資料。

3-4-3

總結與測驗

3-4-4

要做一個線上影像廣告系統,我們可以使用那些特徵?

  • Concrete : 使用者的特徵(ex. 顧客資料)
  • Raw : 影片的特徵(ex. pixels 的資訊)
  • Abstract : 使用者和圖片的 ID

3-4-5

L3 回顧

對應至前面 一、二、三、四 小節所提到的不同學習: 依序是

  • 從 機器輸出的空間 $y$
  • 從 資料中輸入的標籤 $y_n$
  • 從 資料與機器間的互動
  • 從 輸入空間(資料中) $x$

可看一下上面總結部分的圖,對應符號所在的流程。

3-4-6